Heretofore, along with the progress of automotive electronics, for example, fuel injection control such as fuel injection amount control and fuel injection timing control has been performed by an electronic control system mainly composed of a microprocessor. A characteristic of a fuel injection valve (a relationship between an assignable injection time period to the fuel injection valve and an actual injection amount) for use in the fuel injection control has a variation due to individual differences among fuel injection valves, aging, etc. In this connection, there has been known a technique of learning a characteristic of a fuel injection valve so as to figure out such a variation to contribute to enhancing reliability of engine control, as described in the following Patent Literature 1. Further, the following Patent Literature 2 describes a technique of detecting a rough idling state in which an engine speed during an idling operation of an internal combustion engine unstably fluctuates with respect to a target engine speed.
During learning of a characteristic of a fuel injection valve, it is preferable to maintain an engine in a no-load state. This is because, if a load is applied to the engine, it results in an increase in fuel injection amount, or an increase in torsion of a crankshaft, which is likely to cause deterioration in learning accuracy.
Meanwhile, an engine is equipped with an alternator serving as an electricity generation device configured to be driven by rotation of a crankshaft. The alternator has a large operating resistance (load), wherein the load unpredictable fluctuates depending on an electricity generation amount. Thus, it is desirable to prevent the alternator from being activated during execution of the learning. However, the alternator can be activated during execution of the learning, for the following reason. That is, a fuel injection valve as a target of the learning requires electricity for driving it. Further, a microprocessor for executing the learning also consumes electricity by itself. During execution of the learning, such electricity is supplied by discharging a battery as an electricity source, so that a state of charge (SOC) in the battery is lowered during execution of the learning. Excessive lowering of the SOC accelerates degradation of the battery. Thus, in order to prevent degradation of the battery, a control operation is effected to generate electricity by the alternator during execution of the learning to supply the generated electricity to the battery. For the above reason, the alternator is activated during execution of the learning.
When the alternator is activated during execution of the learning, an operation of the alternator causes an increase in load on the engine, wherein the load unpredictable fluctuates. As a result, the learning accuracy deteriorates.